#pragma once

#include "PointLabCore\Prerequisites.h"
#include "PointLabCore\HeaderPrefix.h"

namespace PointLabCore
{
#if defined POINTLABCORE_NOCLIENT_BUILD
#define POINTLABCORE_EXPORT __declspec( dllexport )
#else
#define POINTLABCORE_EXPORT __declspec( dllimport )
#endif

#if defined(_DEBUG)
#define POINTLAB_DEBUG_MODE 1
#else
#define POINTLAB_DEBUG_MODE 0
#endif

	typedef unsigned int uint32;
	typedef unsigned short uint16;
	typedef unsigned char uint8;
	typedef int int32;
	typedef short int16;
	typedef signed char int8;

	typedef unsigned __int64 uint64;
	typedef __int64 int64;

#if POINTLAB_DOUBLE_PRECISION == 1

	typedef int64 Int;
	typedef uint64 Uint;
	typedef double Real;
#else

	typedef int32 Int;
	typedef uint32 Uint;
	typedef float Real;
#endif
}
